package cn.tedu.knows.kafka.vo;

import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;


@Component
@Slf4j
public class Consumer {

    //接收kafka中消息的类
    //接收消息的方法需要将json字符串转换为java对象
    private Gson gson=new Gson();

    //Springkafka接收信息的机制是"监听器"
    //一致监听kafka的某个话题,只要这个话题有新增的信息
    //就立即获得这个消息,运行下面的方法
    @KafkaListener(topics = "myTopic")
    //只要话题中有信息就会运行下面的方法,方法的参数就是话题中的信息
    public void receiveMessage(
            ConsumerRecord<String,String> record){
        //获得消息内容
        String json=record.value();
        Message message=gson.fromJson(json,Message.class);
        log.debug("接收到信息:{}",message);
    }


}
